<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of PANIER
 *
 * @author Caroline
 */
class Panier {
    private $id;
    private $montant;
    private $nbProduits;
    private $lesProduits;

    function __construct() {
        $this->montant = 0;
        $this->nbProduits = 0;
        $this->lesProduits = array();
    }

    //accesseurs
    public function getId() {
        return $this->id;
    }

    public function getMontant() {
        return $this->montant;
    }

    public function getNbProduits() {
        return $this->nbProduits;
    }

    public function getLesProduits() {
        return $this->lesProduits;
    }

    //modificateurs
    
    public function setId($idPanier) {
        $this->id = $idPanier;
    }
    public function setMontant($montant) {
        $this->montant = $montant;
    }

    public function setNbProduits($nbProduits) {
        $this->nbProduits = $nbProduits;
    }

    public function setLesProduits($lesProduits) {
        $this->lesProduits = $lesProduits;
    }

    public function ajouterProduit($leProduit){
        $this->nbProduits = $this->nbProduits + 1;
        $this->lesProduits[$this->nbProduits] = $leProduit;
    }
    
     public function chargerProduits(Bdd $sql){
        $reqProduit = "SELECT * 
                       FROM produit, contenir 
                       WHERE con_produit = pro_id 
                       AND con_panier = $this->id";
        
        $resultProduit = $sql->query($reqProduit);
        
        foreach($resultProduit as $leProduit){
            $unProduit = new Produit($leProduit["pro_libelle"],
                                     $leProduit["pro_prixLocation"],
                                     $leProduit["pro_image"],
                                     $leProduit["pro_desc"],
                                     $leProduit["pro_caution"],
                                     $leProduit["pro_couleur"],
                                     $leProduit["pro_dimensions"],
                                     $leProduit["pro_poids"],
                                     $leProduit["pro_stock"],
                                     $leProduit["pro_marque"],
                                     $leProduit["pro_contexte"],
                                     $leProduit["pro_dureeMax"]);
            
        $this->setId($leProduit["pro_id"]);

        $this->ajouterProduit($unProduit);
        
        }
    }
    
     public function modifierPanier(Bdd $sql)
    {            
        $maj = "UPDATE panier
                WHERE pan_id        ='$this->num',
                SET pan_montant     ='$this->montant',
                    pan_nbProduits  ='$this->nbProduits'";

        $sql->query($maj);
    }  
    public function ajoutPanier(Bdd $sql)
    {
        // Gestion de l'auto incrémentation pour l'id du panier
        $req = "SELECT MAX(pan_num) as max FROM panier";
        $numPanier = $sql->query($req)->fetchColumn();
        $numPanier++;
        
        $this->id = $numPanier;

        $new = "INSERT INTO panier
                VALUES ('$this->id',
                        '$this->montant',
                        '$this->nbProduits')";
        $sql->query($new);     
    }

    
    public function supprimerPanier(Bdd $sql)
    {        
        $del = "DELETE FROM panier
                WHERE pan_id = ".$this->num;

        $sql->query($del);        
    }
}

?>
